
using System;

namespace ZR.Model.ProdManage.Dto
{
    /// <summary>
    /// 三级装箱明细查询对象
    /// </summary>
    public class ProdThreePackDetailQueryDto : PagerInfo
    {
        /// <summary>
        /// 三级装柜id 
        /// </summary>
        public string ThreePackId { get; set; }
        /// <summary>
        /// 装柜时间 
        /// </summary>
        public DateTime? BeginPackTime { get; set; }
        public DateTime? EndPackTime { get; set; }
        /// <summary>
        /// 明细状态（0临时，1正常，9取消） 
        /// </summary>
        public string ItemStatus { get; set; }
        /// <summary>
        /// 装箱类型(0一级箱,1零件) 
        /// </summary>
        public string PackType { get; set; }
        /// <summary>
        /// 物料号 
        /// </summary>
        public string PartCode { get; set; }
        /// <summary>
        /// 二级包装编号 
        /// </summary>
        public string TwoPackNo { get; set; }
    }

    /// <summary>
    /// 三级装箱明细输入输出对象
    /// </summary>
    public class ProdThreePackDetailDto
    {
        /// <summary>
        /// 明细Id 
        /// </summary>
        [Required(ErrorMessage = "明细Id不能为空")]
        public string DetailId { get; set; }

        /// <summary>
        /// 三级装柜id 
        /// </summary>
        [Required(ErrorMessage = "三级装柜id不能为空")]
        public string ThreePackId { get; set; }

        /// <summary>
        /// 三级装箱-箱号
        /// </summary>
        public string ThreePackNo { get; set; }

        /// <summary>
        /// 装柜时间 
        /// </summary>
        public DateTime? PackTime { get; set; }

        /// <summary>
        /// 装柜人 
        /// </summary>
        public long? PackUserId { get; set; }

        /// <summary>
        /// 明细状态（0临时，1正常，9取消） 
        /// </summary>
        [Required(ErrorMessage = "明细状态（0临时，1正常，9取消）不能为空")]
        public string ItemStatus { get; set; }

        /// <summary>
        /// 装箱类型(0一级箱,1零件) 
        /// </summary>
        [Required(ErrorMessage = "装箱类型(0一级箱,1零件)不能为空")]
        public string PackType { get; set; }

        /// <summary>
        /// 物料号 
        /// </summary>
        [Required(ErrorMessage = "物料号不能为空")]
        public string PartCode { get; set; }

        /// <summary>
        /// 供应商 
        /// </summary>
        public string SupplierCode { get; set; }

        /// <summary>
        /// 包装数量 
        /// </summary>
        [Required(ErrorMessage = "包装数量不能为空")]
        public decimal? PackNum { get; set; }

        /// <summary>
        /// 检测状态(未检、合格、不合格) 
        /// </summary>
        public string CheckStatus { get; set; }

        /// <summary>
        /// 检测人 
        /// </summary>
        public long? CheckUser { get; set; }

        /// <summary>
        /// 检测时间 
        /// </summary>
        public DateTime? CheckTime { get; set; }

        /// <summary>
        /// 二级包装编号 
        /// </summary>
        public string TwoPackNo { get; set; }

        /// <summary>
        /// 原始清单包装编号(二级车身件相关使用) 
        /// </summary>
        public string OriTwoPackNo { get; set; }

    }


    /// <summary>
    /// 推送三级订单明细对象
    /// </summary>
    public class WmsThreePackDetailDto
    {
        /// <summary>
        /// 装柜时间
        /// </summary>
        public string packTime { get; set; }
        /// <summary>
        /// 装柜人
        /// </summary>
        public long? packUserId { get; set; }
        /// <summary>
        /// 明细状态（0临时，1正常，9取消）
        /// </summary>
        public string itemStatus { get; set; }
        /// <summary>
        /// 装箱类型(0一级箱,1零件)
        /// </summary>
        public string packType { get; set; }
        /// <summary>
        /// 物料号
        /// </summary>
        public string partCode { get; set; }
        /// <summary>
        /// 供应商
        /// </summary>
        public string supplierCode { get; set; }
        /// <summary>
        /// 数量
        /// </summary>
        public decimal? packNum { get; set; }
        /// <summary>
        /// 检测状态(未检、合格、不合格)
        /// </summary>
        public string checkStatus { get; set; }
        /// <summary>
        /// 检测人
        /// </summary>
        public long? checkUserId { get; set; }
        /// <summary>
        /// 检测时间
        /// </summary>
        public DateTime? checkTime { get; set; }
        public string twoPackNo { get; set; }
        public string oriTwoPackNo { get; set; }

    }
}